커뮤니케이션에 대한 워딩에 끌려서 산 책.
막상 사고나서 보니, 지금 내 상황에 적절한 책은 아니었다. 그래도 이번에 다이어그램을 그려보고 싶은 마음에 파트원 부분을 다시 읽기 시작했다.
아래 C4 모델이 흥미로워서 다이어그램 그릴 때 참고해봐야지.
소프트웨어 아키텍처와 디자인의 시각적 요소는 중요한 정보를 전달한다. 독자의 시선은 자연스럽게 시각적 요소에 끌림.
- 누가 읽을 것인지? 독자의 요구 사항이 무엇인지?
UML 클래스 다이어그램
- 개발자, 아키텍트, 데이터베이스 관리자 등 IT 독자를 겨냥
- PO or PM에게는 해당 다이어그램 정보가 필요하지 않을 수 있음.
C4 컨텍스트 다이어그램
- 활용도 높음. 시스템의 전반적인 그림 보여줌. IT 독자나 비즈니스 독자 모두에게 적합
- PO, PM, 아키텍트, 개발자, 비즈니스 애널리스트 모두에게 적합
도메인 스토리 다이어그램
- 고객이 원하는 게 무엇인지?
- 내가 고객으로부터 원하는 게 무엇인지?
- 고객의 기술적 이해력은 어느 수준인지?
- 고객은 어느 정도의 상세함을 원하는지?
- 개발과 같이, 필요한 정보를 한 다이어그램에 전부 넣는 것은 어지럽고 혼란스러울 수 있음
C4 모델
- 시스템 컨텍스트
- 시스템의 개요, 시스템과 다른 개체들 간의 상호작용을 포함하여 그것이 환경에 어떻게 적합한지 보여준다.
- 컨테이너 레벨
- 연관 있는 소프트웨어 시스템을 확대해서 상위 컴포넌트를 보여주거나, 블록을 구성해 글외부 개체의 상호작용을 보여줌
- 컴포넌트 레벨
- 컨테이너 내의 컴포넌트와 컴포넌트 간의, 그리고 컴포넌트와 외부 개체의 상호 작용
- 코드 레벨
예제)
https://lucid.app/lucidchart/743bd105-828a-439f-bf77-2596511b731a/view?anonId=0.6c0631e192d38c4fc7&sessionDate=2024-10-28T14%3A34%3A19.803Z&sessionId=0.0de47c08192d38c4fc8&fromMarketing=true&page=0_0#
- 독자는 다이어그램이 서로 어떻게 연관되어 있는지 쉽게 이해할 수 있어야 한다.
데이터 흐름도
- 색상, 대비도 고려해야 다이어그램의 접근성을 높일 수 있다.
- 색상에 의존한 커뮤니케이션: 안티패턴
- 패턴을 사용할 수 있다.
- 빨간색 상자 → 빗금이 쳐진 상자
- 큰 그림 먼저
- 컨텍스트를 제공하지 않으면 독자를 읽게 되고, 그들의 원하는 반응을 얻을 가능성도 낮아짐
- 다이어그램과 보충 자료는 큰 그림에서 시작하여 내러티브를 구성하는 방식으로 순서화해야 한다.
- 책을 볼 때 텍스트가 왼쪽 상단 → 오른쪽 하단으로 끝나는 것으로 예상한다. 다이어 그램의 경우에도 그래야 함
- 다이어그램의 초점이나 시작 부분을 왼쪽 상단 또는 왼쪽 가운데에 두는 것이 훨씬 더 가독성이 좋다.
- 다이어그램에는 구성 요소(컨테이너, 프로세스 등) + 구성 요소 간의 관계(화살표, 그룹화 등) 2가지 주요 요소.
- 독자는 관계를 통해 스토리를 이해하기 때문에 “명확한 관계 패턴”이 중요.
- 단방향으로 관계를 나타내는 것이 가장 좋음
- 화살표나 상자에 점선이나 파선을 사용하는 등 패턴과 색상을 사용해 관계를 더 명확히 나타낼 수 있음
- 이와 같은 방식으로 관계의 의미를 표시할 때는 범례를 추가해야 한다.